Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mac OS X Compatibility [WIP] #203

Open
wants to merge 61 commits into
base: darwin
Choose a base branch
from

Conversation

anuragagarwal561994
Copy link
Contributor

@anuragagarwal561994 anuragagarwal561994 commented Aug 18, 2016

Uses S_ISDIR instead of DT_DIR
Adds missing header to resolve ssize_t not found problem
Corrects cairo example and typos in Boehm GC CMake Module
Replaces deprecated malloc.h with stdlib.h
Uses gnutls-certool instead of default certtool
Links external libraries properly
Includes CTest for making test cases and running them

Current Progress:
100% compilation on OSX system

TODO:

  • Compilation issues with gnu gcc-5 on darwin
  • Passing 100% test cases
  • To look at Libev/Libevent loop under OS X #58
  • Travis CI Integration
  • Check CMake Warnings
    • Oterm without authentication support! May be very unsecure.
    • Some examples are disabled as you don't have PAM: otop, basic, fileserver
    • Policy CMP0038 is not set: Targets may not link directly to themselves. Run "cmake --help policy CMP0038" for policy details. Use the cmake_policy command to set the policy and suppress this warning. Target "onioncpp_static" links to itself.
    • Policy CMP0042 is not set: MACOSX_RPATH is enabled by default. Run "cmake
      --help-policy CMP0042" for policy details. Use the cmake_policy command to set the policy and suppress this warning. MACOSX_RPATH is not specified for the following targets: i18n, onion, onioncpp

Test Cases Result:

6 - internal-onion (SEGFAULT)
12 - internal-cloexec (Failed)

Fixes Issues:
#119 #98

Help Needed:
In checking why the test cases might fail (with someone who has deeper insight of the code).

anuragagarwal561994 and others added 30 commits August 16, 2016 15:54
Also updated find package names at main to use proper case sensitivity
required in Linux.

The new Find*.cmake files are required at least in Fedora; other
distros, and Mac OSX may have them system wide. Anyway this way they are
always available.
Reverted some Find*.cmake packages and use system wide others, so that
it compiles on Ubuntu 12.04 Precise, the one we have set at Travis.

Works ok on CMake 3.5.2 too (Fedora 24).
…nd using pthread function declarations directly. From gc_config_macros.h and gc_pthread_redirects.h, the pthread function declarations are going to be automatically defined if not defined using macros making it cross compatible
Fix: Takes another variable expected_result and sprintf the same format and the variable in it and check it with the onion_response_printf. Since both will follow the same implementation will give the same result if the test case works.
Adds ./install-dependencies.sh to install dependencies needed for osx
Make some other changes in .travis.yml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants